3586
12275
Eu preciso envolver todas as instâncias de% {...%} com  ...  A MENOS que% {...} apareça em uma tag HTML. Por exemplo, este:
"Ou% {register_text} para uma nova conta  clicando aqui ."
precisa se tornar isso
"Ou % {register_text}  para uma nova conta  clicando aqui ."
meu regex atual não leva em consideração a situação da tag HTML:
x.gsub (/ [? !] / i) {| s | " # {s} "}
então estou me perguntando como fazer isso em Ruby com regex.
Qualquer comprador? 
Não tenho certeza sobre o espaço de entrada, então este é o melhor que posso sugerir. Eu também limpo o regex um pouco ao longo do caminho.
/% \ {[\ w -] + \} (?! [^ <>]>) /
Para um HTML bem formado, ele corresponderá apenas aos tokens que estão fora da tag. Se o HTML estiver malformado, não acho que estou à altura da tarefa de escrever o regex.
Também presumo que não haja Javascript embutido na página, uma vez que> e